home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Essentials / MacApp Documentation / MacApp.TECH$ Archives / 1988 / Jun 88 / Limits and Architechtures 6⁄30 < prev    next >
Encoding:
Text File  |  1991-03-06  |  1.5 KB  |  31 lines  |  [TEXT/GEOL]

  1. Item    3668583                         30-June-88        10:05
  2.  
  3. From:   GOLDSMITH1                      Goldsmith, David
  4.  
  5. To:     MACAPP$                         MacApp Interest List
  6.  
  7. Sub:    Limits and Architectures
  8.  
  9. Unfortunately, it is not possible to increase the jump table size to 64K.  This
  10. is because A5 is used to address both the jump table and global variables.
  11. Positive offsets from A5 are used for the jump table; negative offsets from A5
  12. are used for globals.  Both are limited in size to 32K.
  13.  
  14. This is a direct consequence of the addressing modes available on the 68000.
  15. If you want a programming model which will continue to work on the 68000, you
  16. are limited to using the 16-bit offset+register.  The only possible
  17. alternatives are absolute addressing, which would require extensive code
  18. patching at segment load time, thus slowing down segment loading, or loading
  19. the offset into a register to get a 32 bit offset and using the indexed
  20. addressing mode.  This would cause generated code which referenced globals and
  21. procedures to increase greatly in size as well as slow down.
  22.  
  23. The design of any computer system entails making many tradeoffs and hard
  24. decisions.  The limits in the Mac runtime architecture are not "arbitrary" but
  25. are the result of conscious decisions trading off code size, execution speed,
  26. and the limited number of address registers and addressing modes in the 68000.
  27.  
  28. Although some of these limits may be lifted in the future, remember that
  29. nothing comes for free.
  30.  
  31.